==================================================
3DSRS - Spaced Repetition Flashcard App for 3DS
==================================================
Version: 1.2.0
Author: Nebula1446
(C) 2026 Nebula1446
https://gbatemp.net/threads/release-3dsrs-flashcard-app-with-sm-2.680868/

This app helps you memorize anything using spaced repetition (inspired by SM-2).

====================
Installation
====================
Choose one of the following options:

[Option A: Homebrew Launcher (.3dsx)]
1. Copy /3ds/3DSRS.3dsx and /3DSRS/ to your SD card. (/3DSRS/ goes in the root)
2. Launch via Homebrew Launcher.

[Option B: HOME Menu (.cia)]
1. Copy /3DSRS/ to your SD card (root) and install 3DSRS.cia using a title manager (e.g., FBI).
2. Launch from the HOME Menu.

====================
How to Use
====================
1. Put your .tsv deck files (converted with the converter) into /3DSRS/ on your SD card.
2. Select a deck with D-pad Up/Down, then press A or tap "Study".
3. On the question screen, press A or tap "Show Answer".
4. Rate your answer with the face buttons or touch:
   - Y = Again (try again later; if pressed again, reschedules to a future session)
   - B = Hard (shorter interval)
   - A = Good (normal interval)
   - X = Easy (much longer interval)
5. Press L to Pause/Resume elapsed timer (long press to reset)
   Press R to Pause/Resume avg timer (long press to reset)
   Both timers automatically pause when the system sleeps (lid closed) or the HOME Menu is opened.
6. Press SELECT (on deck select screen) to open settings.
7. Press START to exit the app (on deck select screen) or return to deck select screen (during a session).
8. On the bottom screen, switch tabs with Circle Pad Left/Right.
   - Info tab: shows elapsed time, battery, and today's progress.
   - Canvas tab: touch screen to draw notes or practice writing.
   Circle Pad Up/Down: clear canvas (canvas tab only).

The app automatically measures your average answer time per card and shows it on the bottom screen.

====================
Sample Decks
====================
The zip includes two sample .tsv files in the /3DSRS/ folder:

- sample1_3DSRS.tsv : Italian basics (20 cards)
- sample2_3DSRS.tsv : Japanese intermediate (20 cards)

You can use these to test the app immediately. Just copy them to /3DSRS/ and launch.

====================
Settings
====================
Edit settings to change these values:

- Again/Hard/Good/Easy
  Minimum interval in days for each score (0 = use SM-2 default).
  This is useful for setting minimum intervals for new cards. If the SM-2 interval is larger, SM-2 takes precedence.

- Review cards per day
  Global limit across all decks (0 = unlimited). 

- New cards per day
  Global limit across all decks (0 = unlimited).

====================
Deck Format (.tsv)
====================
The app uses tab-separated value files with 9 columns:

id    due    interval    ease    reps    session_again    session_date    question    answer

- id: 12-digit hex string
- due: Unix timestamp when the card should be reviewed next
- interval: current interval in days
- ease: ease factor (2.5 initially)
- reps: number of times the card has been answered correctly
- session_again: how many times the card was marked Again today
- session_date: last date (YYYYMMDD) when session_again was counted
- question: the front of the card
- answer: the back of the card

You can use the included converter (3DSRS_Converter.exe) to turn CSV files into TSV decks.

====================
Converter Tool
====================
- Run 3DSRS_Converter.exe.
- It converts a CSV file (question, answer) to TSV format with IDs.
- Use a CSV file with exactly two columns: question,answer.
- If you provide an existing TSV file, learning history (due, interval, ease, reps) will be preserved.
- The converter also updates the original CSV with the assigned IDs.
- Only supports comma-separated UTF-8 format. Tab-separated files and Fields containing line breaks are NOT supported.
- IMPORTANT: The converter overwrites the imported CSV with IDs. Make sure to create a backup copy of any important CSV file before using it!

=====================
Troubleshooting & FAQ
=====================
Q: No decks found?
A: Make sure your .tsv files are inside /3DSRS/ on your SD card.

Q: How does the daily Review/New limit work?
A: The limits apply to the total number of cards you study across all decks. The app counts how many review and new cards you have answered correctly today regardless of which deck you use. Separate per-deck limits are not supported.

Q: If I close the lid, does the elapsed timer pause?
A: Yes, both the elapsed timer and the avg timer automatically pause when the system enters sleep mode or when the HOME Menu is opened. They resume when you return to the app, unless you had manually paused them beforehand — in that case, they remain paused.

Q: Can I use my existing Anki decks?
A: Yes, if you convert them to the TSV format (use the included converter).

Q: When does the daily Review/New limit reset?
A: The day resets at 4:00 AM (system time).

Q: Why does pressing "Again" not increase the Today count?
A: Today only counts cards answered Hard/Good/Easy. "Again" is not counted. Note that the avg timer counts all answered cards, including "Again."

Q: When is the canvas cleared?
A: The canvas is cleared when you move to the next card.

====================
License & Disclaimer
====================
- Freeware. Redistribution allowed only via link to the original release thread.
- Please credit the author when sharing.
- Modification and commercial use prohibited.
- Use at your own risk. Always back up your deck files.
- This app is NOT affiliated with Anki.
